5 simulated users executing back to back sessions. Warmup or cooldown sessions (that are desaturated) start before or end after the vertical dotted line. Note that narrower event bars mean better performance.

33 maintenance sessions ordered from fastest to slowest completion time. The red line marks how long the original recording session took to complete (~19s). Sessions should end around the same time as each other for consistent behavior.

Each session is represented with a line that cascades downward from each event. As time progresses, the line will move to the right. Consistent behavior will be represented with parallel lines, whereas inconsistent behavior will have lines jut arbitrarily to the right. Warmup and cooldown sessions are included as grey lines.

Total HTTP and supporting files (JS/CSS) latency (load time) is displayed for each session and run combination. Each vertical bar represents the amount of time a session's Shiny application had to wait before it is able to ask the server for information. A resonable amount of time to wait as been set to 5s. Warmup and cooldown sessions are displayed outside the dotted maintenance period lines.

Maximum WebSocket latency (calculation time) is displayed for each session and run combination. The maximum time is shown to convey the longest amount of time a user would have to wait for a response from the Shiny server. Warmup and cooldown sessions are displayed outside the dotted maintenance period lines.

Event plots are arranged by the slowest maximum time within each plot.

slowest maximum times

Event plots are arranged by the slowest minimum time within each plot.

slowest minimum times

Label Max time Min time
Event 3) Get: jquery.min.js 1.859 0.556
Event 7) Get: bootstrap.min.css 1.563 0.551
Event 11) Start Session 1.552 0.580
Event 1) Get: Homepage 1.336 0.446
Event 4) Get: shiny.min.js 1.257 0.559
Event 2) Get: json2-min.js 1.236 0.440
Event 9) Get: bootstrap.min.js 1.224 0.542
Event 6) Get: html5shiv.min.js 1.179 0.440
Event 10) Get: respond.min.js 1.076 0.441
Event 5) Get: shiny.css 0.985 0.440
Event 8) Get: style.css 0.905 0.447
Event 28) Updated: bigpraise 0.414 0.111
Event 34) Updated: bigpraise 0.405 0.112
Event 30) Updated: bigpraise 0.404 0.112
Event 32) Updated: bigpraise 0.368 0.112
Event 24) Updated: bigpraise 0.360 0.112
Event 22) Updated: bigpraise 0.348 0.110
Event 16) Updated: bigpraise 0.345 0.111
Event 20) Updated: bigpraise 0.328 0.113
Event 18) Updated: bigpraise 0.300 0.113
Event 26) Updated: bigpraise 0.274 0.115
Event 14) Updated: 0.225 0.118
Event 36) Updated: bigpraise 0.189 0.115
Event 38) Updated: bigpraise 0.164 0.109
Event 13) Initialize Session 0.001 0.000

Event plots are arranged by the largest slope magnitude found when fitting a line to each run.

largest slope magnitudes

Event plots are arranged by the largest intercept magnitude found when fitting a line to each run

largest intercept magnitudes

Event plots are arranged by the largest error magnitude found when fitting a line to each run.

largest error magnitudes

Label Slope Intercept Error
Event 3) Get: jquery.min.js -0.084 1.027 1.083
Event 4) Get: shiny.min.js -0.063 0.888 0.526
Event 16) Updated: bigpraise -0.052 0.335 0.167
Event 7) Get: bootstrap.min.css 0.045 0.518 0.865
Event 6) Get: html5shiv.min.js 0.034 0.436 0.607
Event 24) Updated: bigpraise -0.028 0.254 0.219
Event 26) Updated: bigpraise -0.027 0.244 0.112
Event 34) Updated: bigpraise 0.020 0.068 0.256
Event 1) Get: Homepage 0.017 0.523 0.763
Event 2) Get: json2-min.js -0.014 0.610 0.676
Event 14) Updated: -0.014 0.193 0.092
Event 20) Updated: bigpraise -0.013 0.184 0.182
Event 30) Updated: bigpraise 0.012 0.112 0.245
Event 36) Updated: bigpraise -0.010 0.178 0.060
Event 22) Updated: bigpraise -0.009 0.176 0.210
Event 38) Updated: bigpraise 0.009 0.092 0.038
Event 32) Updated: bigpraise 0.007 0.113 0.228
Event 28) Updated: bigpraise 0.006 0.121 0.269
Event 18) Updated: bigpraise -0.004 0.161 0.151
Event 5) Get: shiny.css 0.004 0.524 0.447
Event 8) Get: style.css 0.002 0.555 0.343
Event 9) Get: bootstrap.min.js 0.000 0.651 0.572
Event 13) Initialize Session -0.000 0.002 0.001
Event 11) Start Session -0.000 0.714 0.839
Event 10) Get: respond.min.js -0.000 0.566 0.510